//冒泡排序，自己第一次手打，挺有意思的，开始时还理解错了。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

 void Bubble_sort(int digit,int* digits)
{
	int a = 0, b = 1;
	for (int i=0; i < digit-1;i++) {
		a = 0;
		b = 1;
		for (int j=0; j < digit-1 - i;j++) {
			if (digits[a] > digits[b]) {
				digits[a] = digits[a] + digits[b];
				digits[b] = digits[a] - digits[b];
				digits[a] = digits[a] - digits[b];
			}
			a++;
			b++;
			}
	}
}

int main()
{
	int digit, n, ret, js;
	scanf("%d", &digit);
	int digits[100000] = { 0 };
	for (int n = 0; n < digit; n++) {
		scanf("%d", &js);
		for (int ret = 0; ret < n; ret++) {
			if (digits[ret] == js) {
				n--;
				digit--;
				goto end;
			}
		}
		digits[n] = js;
	end:;
	}
	Bubble_sort(digit,digits);
	printf("%d\n", digit);
	ret = 0;
	for (; ret < digit; ret++) {
		printf("%d ", digits[ret]);
	}
	return 0;
}